#ifndef LEXER_H
#define LEXER_H

#include "config.h"
#include "hash.h"
#include "queue.h"

#define TOKEN_MAX_SIZE 1025

typedef struct token{
	int pos_begin;
	int pos_end;
	enum symbol_type type, next_type;
	char token[TOKEN_MAX_SIZE];
} Token;

void init_lex(Queue *q, Link** link, const char* content, long length, char* file);
void clear_lex();
enum symbol_type get_symbol(Token *t, int curpos, int line, int printflag);

#endif